package com.hyper_yang.javase.collections.list_collection;

import java.util.ArrayList;
import java.util.List;

public class TryList {
    /*
        List 继承了所有 collection的方法,详见 TryCollection类
        List 有索引，有特有的索引操作方法
        void add(int index,E element) 在此集合中的指定位置插入指定的元素
        E remove(int index) 删除指定索引中的元素，返回被删除的元素
        E set(int index,E element) 修改指定索引处的元素，返回被修改的元素
        E get(int index) 返回指定索引处的元素
    */
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();

        list.add("a");
        list.add("b");
        list.add("c");
        list.add("d");

        System.out.println(list);

        // void add(int index,E element) 在此集合中的指定位置插入指定的元素
        list.add(1,"QQ");   // 原来索引上的元素依次往后移动
        System.out.println(list);

        // E remove(int index) 删除指定索引中的元素，返回被删除的元素
        String remove = list.remove(0);
        System.out.println(remove);
        System.out.println(list);

        // E set(int index,E element) 修改指定索引处的元素，返回被修改的元素
        String s = list.set(2, "zzz");
        System.out.println(s);
        System.out.println(list);

        // E get(int index) 返回指定索引处的元素
        String get = list.get(3);
        System.out.println(get);
    }
}
